
from flask_script import Manager
from flask_migrate import Migrate, MigrateCommand
from info import create_app, db
from info.models import User



# 调用工厂方法，创建app
app = create_app('dev')   # 加载开发环境配置类



# 数据库迁移实例
manager = Manager(app)
# 将app 与 db 进行关联
Migrate(app, db)
# 将数据库迁移命令添加到flask_script中
manager.add_command('db', MigrateCommand)

@manager.option('-u', '-username', dest='username')
@manager.option('-p', '-password', dest='password')
@manager.option('-m', '-mobile', dest='mobile')
def createsuperuser(username, password, mobile):
    """
    创建管理员的函数
    :param name: 管理员名字
    :param password: 管理员密码
    """
    if not all([username, password, mobile]):
        print('缺少参数')
    else:
        user = User()
        user.nick_name = username
        user.password = password
        user.mobile = mobile
        user.is_admin = True # 核心代码（管理员的本质）
        try:
            db.session.add(user)
            db.session.commit()
        except Exception as e:
            db.session.rollback()
            print(e)



if __name__ == '__main__':

    manager.run()


